package cn.iocoder.yudao.module.yyzx.controller.admin.customer.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;

import java.time.LocalDate;
import java.util.*;
import javax.validation.constraints.*;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;

@Schema(description = "管理后台 - 客户信息新增/修改 Request VO")
@Data
public class CustomerSaveReqVO {

    @Schema(description = "客户id", requiredMode = Schema.RequiredMode.REQUIRED, example = "10076")
    private Integer id;

    @Schema(description = "客户姓名", requiredMode = Schema.RequiredMode.REQUIRED, example = "赵六")
    @NotEmpty(message = "客户姓名不能为空")
    private String customerName;

    @Schema(description = "客户年龄", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "客户年龄不能为空")
    private Integer customerAge;

    @Schema(description = "客户性别", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "客户性别不能为空")
    private String customerSex;

    @Schema(description = "身份证号码", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "身份证号码不能为空")
    private String idcard;

    @Schema(description = "房间号", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "房间号不能为空")
    private String roomNumber;

    @Schema(description = "建筑编号（未使用）", example = "24162")
    private Integer buildingId;

    @Schema(description = "档案编号", example = "31316")
    private Integer recordId;

    @Schema(description = "老人类型： 活力老人 自理老人 护理老人", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
    @NotEmpty(message = "老人类型： 活力老人 自理老人 护理老人不能为空")
    private String elderType;

    @Schema(description = "入住时间")
    private LocalDateTime checkinDate;

    @Schema(description = "合同到期时间")
    private LocalDateTime expirationDate;

    @Schema(description = "联系电话", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "联系电话不能为空")
    private String contactTel;

    @Schema(description = "床位id", requiredMode = Schema.RequiredMode.REQUIRED, example = "1589")
    @NotNull(message = "床位id不能为空")
    private Integer bedId;

    @Schema(description = "精神状况：正常 非正常")
    private String psychosomaticState;

    @Schema(description = "注意事项")
    private String attention;

    @Schema(description = "生日")
    private LocalDateTime birthday;

    @Schema(description = "身高")
    private String height;

    @Schema(description = "婚姻状况", example = "1")
    private String maritalStatus;

    @Schema(description = "体重")
    private String weight;

    @Schema(description = "血型", example = "2")
    private String bloodType;

    @Schema(description = "照片地址")
    private String filepath;

}